package com.elm.dao;

import java.util.List;

import com.elm.model.PageBean;
import com.elm.model.Role;
import com.elm.model.Seller;
import com.elm.model.User;

public interface SellerDao {
	/**
	 *  验证商家是否存在
	 * @param s 传入的商家
	 * @return	返回商家对象
	 */
	public Seller validateUser(Seller s);
	
	/**
	 *  查找商家权限
	 * @param Sid	商家的id
	 * @return	
	 */
	public Role getRoleBySid(int Sid);
	/**
	 * 	验证商家用户名是否存在
	 * @param uname 传入的商家用户名
	 * @return 存在返回true
	 */
	public boolean validateSname(String sname);
	/**
	 *  验证手机号是否存在
	 * @param sphone 传入的手机号
	 * @return 存在返回true
	 */
	public boolean validateSphone(String sphone);
	/**
	 * 商家注册
	 * @param u  传入的商家信息
	 * @return 成功返回true
	 */
	public boolean addSeller(Seller s);
	
	/**
	 *  获取所有商家
	 * @return
	 */
	public List<Seller> findAllSellers(PageBean p);
	/**
	 * 获得所有商家的总数
	 * @return 返回商家总数
	 */
	public int findSellerCount();
	/**
	 *  根据店名或者分类搜索商家
	 * @param sellername 商家店名
	 * @param shopgenre	 分类
	 * @return 返回商家集合
	 */
	public List<Seller> findSellerByNameOrGenre(String shopname,String shopgenre,PageBean p);
	/**
	 * 根据id查找商家信息
	 * @param sellerid  传入的商家id
	 * @return	返回商家对象
	 */
	public Seller findSellerById(int sellerid);
	/**
	 * 通过输入的商家名字来查找商家
	 * @return
	 */
	public List<Seller> FindSellerByName(int start,int pageSize,String searchname);
	/**
	 * 计算模糊查询下共有几条数据
	 * @return
	 */
	public int getSellersCountByName(String searchname);
	/**
	 * 查询所有商家
	 * @param start
	 * @param pageSize
	 * @return
	 */
	public  List<Seller> FindAllSellers(int start,int pageSize);
	/**
	 * 查询总共有多少家商家
	 * @return
	 */
	public int getSellersCount();
	/**
	 * 通过id来删除用户
	 * @param sellerid
	 * @return
	 */
	public boolean deleteseller(int srids);
	/**
	 * 查询所有申请信息
	 * @param start
	 * @param pageSize
	 * @return
	 */
	public  List<Seller> FindAllApplySellers(int start,int pageSize);
	/**
	 * 查询总共有多少申请
	 * @return
	 */
	public int getApplySellersCount();
	/**
	 * 通过商家名来查找申请信息
	 * @param start
	 * @param pageSize
	 * @param searchname
	 * @return
	 */
	public List<Seller> FindApplySellerByName(int start,int pageSize,String searchname);
	/**
	 * 模糊查询条件下有多少申请
	 * @param searchname
	 * @return
	 */
	public int getApplySellerCountByName(String searchname);
	/**
	 * 通过id来通过开店申请
	 * @param sellerid
	 * @return
	 */
	public boolean passseller(int srids);
	/**
	 * 查找全部过往商家
	 */
	public List<Seller> FindOldSellers(int start,int pageSize);
	/**
	 * 查询总共有多少个过往商家
	 */
	public int getOldSellersCount();
	/**
	 * 通过名字查找过往商家
	 */
	public List<Seller> FindOldSellerByName(int start,int pageSize,String searchname);
	/**
	 * 模糊查询条件下总共有多少个过往用户
	 */
	public int getOldSellerCountByName(String searchname);
	/**
	 * 通过id来还原商家
	 * @param seid
	 * @return 删除成功返回true
	 */
	public boolean restoreseller(int seid);
	/*
	 * 商家修改自己的信息
	 */
	public int updateSeller(Seller seller ,int sellerid);
}
